<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>Reference</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>Duplex</h1>

<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
<li><a href="#Tables">Tables</a></li>
<li><a href="#Fields">Fields</a></li>
</ul>


<h2>Modules</h2>
<ul class="$(kind=='Topics' and '' or 'nowrap'">
  <li><a href="../modules/Duplex.Application.html">Duplex.Application</a></li>
  <li><a href="../modules/Duplex.Applications.Effect.html">Duplex.Applications.Effect</a></li>
  <li><a href="../modules/Duplex.Applications.GridPie.html">Duplex.Applications.GridPie</a></li>
  <li><a href="../modules/Duplex.Applications.Hydra.html">Duplex.Applications.Hydra</a></li>
  <li><a href="../modules/Duplex.Applications.Instrument.html">Duplex.Applications.Instrument</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.GridLayout.html">Duplex.Applications.Keyboard.GridLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.HarmonicLayout.html">Duplex.Applications.Keyboard.Layouts.HarmonicLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.IsomorphicLayout.html">Duplex.Applications.Keyboard.Layouts.IsomorphicLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.PianoLayout.html">Duplex.Applications.Keyboard.Layouts.PianoLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.html">Duplex.Applications.Keyboard</a></li>
  <li><a href="../modules/Duplex.Applications.Matrix.html">Duplex.Applications.Matrix</a></li>
  <li><a href="../modules/Duplex.Applications.Metronome.html">Duplex.Applications.Metronome</a></li>
  <li><a href="../modules/Duplex.Applications.MidiActions.Bindings.html">Duplex.Applications.MidiActions.Bindings</a></li>
  <li><a href="../modules/Duplex.Applications.MidiActions.html">Duplex.Applications.MidiActions</a></li>
  <li><a href="../modules/Duplex.Applications.Mixer.html">Duplex.Applications.Mixer</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_group.html">Duplex.Applications.Mlrx.Mlrx_group</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_note.html">Duplex.Applications.Mlrx.Mlrx_note</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_pos.html">Duplex.Applications.Mlrx.Mlrx_pos</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_track.html">Duplex.Applications.Mlrx.Mlrx_track</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.html">Duplex.Applications.Mlrx</a></li>
  <li><a href="../modules/Duplex.Applications.Navigator.html">Duplex.Applications.Navigator</a></li>
  <li><a href="../modules/Duplex.Applications.NotesOnWheels.html">Duplex.Applications.NotesOnWheels</a></li>
  <li><a href="../modules/Duplex.Applications.PatternCursor.html">Duplex.Applications.PatternCursor</a></li>
  <li><a href="../modules/Duplex.Applications.PatternSequence.html">Duplex.Applications.PatternSequence</a></li>
  <li><a href="../modules/Duplex.Applications.Recorder.html">Duplex.Applications.Recorder</a></li>
  <li><strong>Duplex.Applications.Repeater</strong></li>
  <li><a href="../modules/Duplex.Applications.Rotate.html">Duplex.Applications.Rotate</a></li>
  <li><a href="../modules/Duplex.Applications.StepSequencer.html">Duplex.Applications.StepSequencer</a></li>
  <li><a href="../modules/Duplex.Applications.SwitchConfiguration.html">Duplex.Applications.SwitchConfiguration</a></li>
  <li><a href="../modules/Duplex.Applications.TestPad.html">Duplex.Applications.TestPad</a></li>
  <li><a href="../modules/Duplex.Applications.TrackSelector.html">Duplex.Applications.TrackSelector</a></li>
  <li><a href="../modules/Duplex.Applications.Transport.html">Duplex.Applications.Transport</a></li>
  <li><a href="../modules/Duplex.Applications.UIButtonTest.html">Duplex.Applications.UIButtonTest</a></li>
  <li><a href="../modules/Duplex.Applications.XYPad.html">Duplex.Applications.XYPad</a></li>
  <li><a href="../modules/Duplex.Automation.html">Duplex.Automation</a></li>
  <li><a href="../modules/Duplex.Browser.html">Duplex.Browser</a></li>
  <li><a href="../modules/Duplex.BrowserProcess.html">Duplex.BrowserProcess</a></li>
  <li><a href="../modules/Duplex.Canvas.html">Duplex.Canvas</a></li>
  <li><a href="../modules/Duplex.CanvasPoint.html">Duplex.CanvasPoint</a></li>
  <li><a href="../modules/Duplex.ControlMap.html">Duplex.ControlMap</a></li>
  <li><a href="../modules/Duplex.Device.html">Duplex.Device</a></li>
  <li><a href="../modules/Duplex.Display.html">Duplex.Display</a></li>
  <li><a href="../modules/Duplex.Globals.html">Duplex.Globals</a></li>
  <li><a href="../modules/Duplex.Message.html">Duplex.Message</a></li>
  <li><a href="../modules/Duplex.MessageStream.html">Duplex.MessageStream</a></li>
  <li><a href="../modules/Duplex.MidiDevice.html">Duplex.MidiDevice</a></li>
  <li><a href="../modules/Duplex.OscClient.html">Duplex.OscClient</a></li>
  <li><a href="../modules/Duplex.OscDevice.html">Duplex.OscDevice</a></li>
  <li><a href="../modules/Duplex.OscVoiceMgr.html">Duplex.OscVoiceMgr</a></li>
  <li><a href="../modules/Duplex.Preferences.html">Duplex.Preferences</a></li>
  <li><a href="../modules/Duplex.ProcessSlicer.html">Duplex.ProcessSlicer</a></li>
  <li><a href="../modules/Duplex.RoamingDSP.html">Duplex.RoamingDSP</a></li>
  <li><a href="../modules/Duplex.Scheduler.html">Duplex.Scheduler</a></li>
  <li><a href="../modules/Duplex.StateController.html">Duplex.StateController</a></li>
  <li><a href="../modules/Duplex.UIButton.html">Duplex.UIButton</a></li>
  <li><a href="../modules/Duplex.UIButtonStrip.html">Duplex.UIButtonStrip</a></li>
  <li><a href="../modules/Duplex.UIComponent.html">Duplex.UIComponent</a></li>
  <li><a href="../modules/Duplex.UIKey.html">Duplex.UIKey</a></li>
  <li><a href="../modules/Duplex.UIKeyPressure.html">Duplex.UIKeyPressure</a></li>
  <li><a href="../modules/Duplex.UILabel.html">Duplex.UILabel</a></li>
  <li><a href="../modules/Duplex.UIPad.html">Duplex.UIPad</a></li>
  <li><a href="../modules/Duplex.UIPitchBend.html">Duplex.UIPitchBend</a></li>
  <li><a href="../modules/Duplex.UISlider.html">Duplex.UISlider</a></li>
  <li><a href="../modules/Duplex.UISpinner.html">Duplex.UISpinner</a></li>
  <li><a href="../modules/Duplex.WidgetHooks.html">Duplex.WidgetHooks</a></li>
  <li><a href="../modules/Duplex.WidgetKeyboard.html">Duplex.WidgetKeyboard</a></li>
  <li><a href="../modules/Duplex.html">Duplex</a></li>
  <li><a href="../modules/main.html">main</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>Duplex.Applications.Repeater</code></h1>
<p>Take control of the native repeater DSP device.</p>
<p>

<p>Inheritance: <a href="../modules/Duplex.Application.html#">Duplex.Application</a> > <a href="../modules/Duplex.RoamingDSP.html#">Duplex.RoamingDSP</a> > Duplex.Application.Repeater </p>


<h3>Changes</h3>

<p>  0.98</p>
<pre><code>- First release
</code></pre>

</p>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#__init">__init (VarArg)</a></td>
	<td class="summary">Constructor method</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#on_idle">on_idle ()</a></td>
	<td class="summary">perform periodic updates</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#attach_to_device">attach_to_device (track_idx, device_idx, device)</a></td>
	<td class="summary">attach notifier to the device
 called when we use previous/next device, set the initial device
 or are freely roaming the tracks</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#set_value_from_coords">set_value_from_coords (x, y)</a></td>
	<td class="summary">(grid mode) update everything: the mode and/or divisor value is gained
 and the grid cells are drawn accordingly.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#set_divisor">set_divisor (divisor_val)</a></td>
	<td class="summary">Update divisor (call without argument to use existing value)</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#divisor_from_linear_value">divisor_from_linear_value (divisor_val)</a></td>
	<td class="summary">this method will calculate a the divisor from a linear value
 (e.g.</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#stop_repeating">stop_repeating ()</a></td>
	<td class="summary">set device to OFF mode, update controller + automation</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#init_grid">init_grid ()</a></td>
	<td class="summary">configure a map of mode/divisor values for the available buttons
 even/triplet/dotted: update divisor value by quantized amount
 free: update the divisor value by an exact amount</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_build_app">_build_app ()</a></td>
	<td class="summary">inherited from Application</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_grid">update_grid (x, y)</a></td>
	<td class="summary">update controller grid (no impact on Renoise)</td>
	</tr>
</table>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#available_mappings">available_mappings</a></td>
	<td class="summary">available_mappings</td>
	</tr>
</table>
<h2><a href="#Fields">Fields</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#self._instance_name">self._instance_name</a></td>
	<td class="summary">the name of the device we are controlling</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self.update_requested">self.update_requested</a></td>
	<td class="summary">update display</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self.suppress_value_observable">self.suppress_value_observable</a></td>
	<td class="summary">boolean, set to temporarily skip value notifier</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self._grid">self._grid</a></td>
	<td class="summary">the various UIComponents</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self._grid_width">self._grid_width</a></td>
	<td class="summary">(int), grid size in units</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self._grid_map">self._grid_map</a></td>
	<td class="summary">
<p>table, organized by [x][y], each containing the following</p>
<pre><code>divisor (number), the divisor value
mode (int), the mode value (0-4)
tooltip (string)
</code></pre>
</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self._grid_coords">self._grid_coords</a></td>
	<td class="summary">
<p>(table or nil) in grid mode, current coordinate </p>
<pre><code>x=number
y=number
</code></pre>
</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#self.playmode">self.playmode</a></td>
	<td class="summary">(enum) default automation mode is points (recommended)</td>
	</tr>
</table>

<br/>
<br/>


    <h2><a name="Functions"></a>Functions</h2>
    <dl class="function">
    <dt>
    <a name = "__init"></a>
    <strong>__init (VarArg)</strong>
    </dt>
    <dd>
    Constructor method


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">VarArg</span>
        )
        </li>
    </ul>



    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#">Duplex.Application</a>
    </ul>


</dd>
    <dt>
    <a name = "on_idle"></a>
    <strong>on_idle ()</strong>
    </dt>
    <dd>
    perform periodic updates







</dd>
    <dt>
    <a name = "attach_to_device"></a>
    <strong>attach_to_device (track_idx, device_idx, device)</strong>
    </dt>
    <dd>
    attach notifier to the device
 called when we use previous/next device, set the initial device
 or are freely roaming the tracks


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">track_idx</span>



        </li>
        <li><span class="parameter">device_idx</span>



        </li>
        <li><span class="parameter">device</span>



        </li>
    </ul>





</dd>
    <dt>
    <a name = "set_value_from_coords"></a>
    <strong>set_value_from_coords (x, y)</strong>
    </dt>
    <dd>
    (grid mode) update everything: the mode and/or divisor value is gained
 and the grid cells are drawn accordingly.  Also, record automation.


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">x</span>



        </li>
        <li><span class="parameter">y</span>



        </li>
    </ul>





</dd>
    <dt>
    <a name = "set_divisor"></a>
    <strong>set_divisor (divisor_val)</strong>
    </dt>
    <dd>
    Update divisor (call without argument to use existing value)


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">divisor_val</span>
         (number) [optional] between 0 and 1
        </li>
    </ul>





</dd>
    <dt>
    <a name = "divisor_from_linear_value"></a>
    <strong>divisor_from_linear_value (divisor_val)</strong>
    </dt>
    <dd>
    this method will calculate a the divisor from a linear value
 (e.g.  0.5 will output 1/8 == 0.125)


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">divisor_val</span>
         (number) between 0 and 1
        </li>
    </ul>





</dd>
    <dt>
    <a name = "stop_repeating"></a>
    <strong>stop_repeating ()</strong>
    </dt>
    <dd>
    set device to OFF mode, update controller + automation







</dd>
    <dt>
    <a name = "init_grid"></a>
    <strong>init_grid ()</strong>
    </dt>
    <dd>
    configure a map of mode/divisor values for the available buttons
 even/triplet/dotted: update divisor value by quantized amount
 free: update the divisor value by an exact amount







</dd>
    <dt>
    <a name = "_build_app"></a>
    <strong>_build_app ()</strong>
    </dt>
    <dd>
    inherited from Application



    <h3>Returns:</h3>
    <ol>

        bool
    </ol>


    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#_build_app">Duplex.Application._build_app</a>
    </ul>


</dd>
    <dt>
    <a name = "update_grid"></a>
    <strong>update_grid (x, y)</strong>
    </dt>
    <dd>
    update controller grid (no impact on Renoise)


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">x</span>



        </li>
        <li><span class="parameter">y</span>



        </li>
    </ul>





</dd>
</dl>
    <h2><a name="Tables"></a>Tables</h2>
    <dl class="function">
    <dt>
    <a name = "available_mappings"></a>
    <strong>available_mappings</strong>
    </dt>
    <dd>
    available_mappings


    <h3>Fields:</h3>
    <ul>
        <li><span class="parameter">grid</span>



        </li>
        <li><span class="parameter">divisor_slider</span>



        </li>
        <li><span class="parameter">mode_slider</span>



        </li>
        <li><span class="parameter">mode_even</span>



        </li>
        <li><span class="parameter">mode_triplet</span>



        </li>
        <li><span class="parameter">mode_dotted</span>



        </li>
        <li><span class="parameter">mode_free</span>



        </li>
    </ul>





</dd>
</dl>
    <h2><a name="Fields"></a>Fields</h2>
    <dl class="function">
    <dt>
    <a name = "self._instance_name"></a>
    <strong>self._instance_name</strong>
    </dt>
    <dd>
    the name of the device we are controlling







</dd>
    <dt>
    <a name = "self.update_requested"></a>
    <strong>self.update_requested</strong>
    </dt>
    <dd>
    update display







</dd>
    <dt>
    <a name = "self.suppress_value_observable"></a>
    <strong>self.suppress_value_observable</strong>
    </dt>
    <dd>
    boolean, set to temporarily skip value notifier







</dd>
    <dt>
    <a name = "self._grid"></a>
    <strong>self._grid</strong>
    </dt>
    <dd>
    the various UIComponents







</dd>
    <dt>
    <a name = "self._grid_width"></a>
    <strong>self._grid_width</strong>
    </dt>
    <dd>
    (int), grid size in units







</dd>
    <dt>
    <a name = "self._grid_map"></a>
    <strong>self._grid_map</strong>
    </dt>
    <dd>

<p>table, organized by [x][y], each containing the following</p>
<pre><code>divisor (number), the divisor value
mode (int), the mode value (0-4)
tooltip (string)
</code></pre>








</dd>
    <dt>
    <a name = "self._grid_coords"></a>
    <strong>self._grid_coords</strong>
    </dt>
    <dd>

<p>(table or nil) in grid mode, current coordinate </p>
<pre><code>x=number
y=number
</code></pre>








</dd>
    <dt>
    <a name = "self.playmode"></a>
    <strong>self.playmode</strong>
    </dt>
    <dd>
    (enum) default automation mode is points (recommended)







</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.2</a></i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
